package com.ruoyi.word.dao.mapper;

import com.ruoyi.common.domain.word.CommonWord;
import com.ruoyi.common.domain.word.vo.CommonWordSysVocabularyVo;
import com.ruoyi.common.domain.word.vo.CommonWordVo;
import com.ruoyi.common.domain.word.vo.CommonWordVocabularyVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;


import java.util.List;

public interface CommonWordMapper extends Mapper<CommonWord> {

    List<CommonWord> findByWhereStr(@Param("whereStr") String whereStr, @Param("orderField") String orderField, @Param("order") String order);

    CommonWord findByWord(@Param("word") String word);

    int updateExSenNum(@Param("id") Long id, @Param("exSenNum") Integer exSenNum, @Param("exSenPhNum") Integer exSenPhNum);

    List<CommonWordVocabularyVo> findByWhereStrWord(@Param("whereStr") String whereStr, @Param("orderField") String orderField, @Param("order") String order, @Param("vocabularyId") Long vocabularyId);


    List<CommonWordSysVocabularyVo> findByWhereStrWithId(@Param("whereStr") String whereStr, @Param("orderField") String orderField, @Param("order") String order);

    List<CommonWord> findByWhereStrWithUserVocId(@Param("whereStr") String whereStr, @Param("orderField") String orderField, @Param("order") String order);

    List<CommonWord> findFiveAndFiveWords();

    List<CommonWord> findBySysId(@Param("sysId") Long sysId);

    CommonWordVo findByIdVo(@Param("id") Long id);

    List<CommonWordVo> getNullPronounceListLimit(@Param("page")Integer page, @Param("pageSize")Integer pageSize);

    List<CommonWord> findByWrongPronounce();
}